package com.ruoyi.client.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.client.domain.entity.BlogArticle;
import com.ruoyi.client.domain.page.ClientPageParam;
import com.ruoyi.client.domain.vo.CHArticleVo;
import com.ruoyi.client.domain.vo.EchartsVo;
import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.mybatis.core.page.TableDataInfo;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 文章表 服务类
 * </p>
 *
 * @author fz
 * @since 2025-02-27
 */
public interface IBlogArticleService extends IService<BlogArticle> {

    TableDataInfo<BlogArticle> getArticleByCategoryType(PageQuery pageQuery);

    TableDataInfo<BlogArticle> getArticleAll(PageQuery pageQuery, BlogArticle article);

    TableDataInfo<CHArticleVo> getHistroryPage(Long userId, ClientPageParam<CHArticleVo> pageParam);

    TableDataInfo<CHArticleVo> getCollectPage(Long userId, ClientPageParam<CHArticleVo> pageParam);

    TableDataInfo<BlogArticle> getDraftPage(Long userId, ClientPageParam<BlogArticle> pageParam);

    TableDataInfo<BlogArticle> getPublishPage(Long userId, ClientPageParam<BlogArticle> pageParam);

    List<EchartsVo> addLikeNum(Long userId, LocalDateTime startOfLastSevenDays, LocalDateTime endOfLastSevenDays);
}
